#ifndef GAMESTATES_H_INCLUDED
#define GAMESTATES_H_INCLUDED


#include "GameResources.h"
#include "Stats.h"
#include "Input.h"


#define R 3


enum class GameState
{
    MAIN_MENU,
    ONE_PLAYER,
    TWO_PLAYER,
    OPTION
};


class GameStats;


void drawMainMenu(const iArr&, const tArr&);
void logicMainMenu(SDL_Event, GameState&, bool&);
void drawSPlayer(iArr&, const tArr&);
void logicSPlayer(SDL_Event, GameState&, bool&, iArr&, const sArr&, Mark (&game_board)[R][R], Mark&, GameStats&, SDL_Cursor*, SDL_Cursor*);
void drawMPlayer(iArr&, const tArr&);
void logicMPlayer(SDL_Event, GameState&, bool&, iArr, tArr, Mark&);
void drawOptions(iArr&, const tArr&);
void logicOptions();


#undef R


#endif // GAMESTATES_H_INCLUDED
